package com.lixiang.userinfo.service.impl;

import java.util.HashMap;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lixiang.userinfo.dao.UserMapper;
import com.lixiang.userinfo.entity.User;
import com.lixiang.userinfo.service.IUserService;
/**
 * 客户信息业务层实现类
 * @author 李湘
 * @date 2018-10-19
 */
@Service
public class UserServiceImpl implements IUserService{
	
	@Autowired
	private UserMapper userMapper;//自动注入依赖

	/**
     * 录入客户信息
     * @param record 客户对象
     * @return 影响行数
     */
	public int insertSelective(User record) {
		return userMapper.insertSelective(record);
	}

	/**
     * 删除客户信息 将状态置为2 禁用
     * @param userId
     * @return 影响行数
     */
	public int delete(Integer userId) {
		return userMapper.delete(userId);
	}

	/**
     * 更新编辑客户信息
     * @param record
     * @return
     */
	public int updateByPrimaryKeySelective(User record) {
		return userMapper.updateByPrimaryKeySelective(record);
	}

	/** 
     * 按周查询客户信息（分页）
	 * @param page
	 * @return 
	 */
	public PageInfo<User> selectWeek(int page) {
		//设置分页
		PageHelper.startPage(page, 10);
		PageHelper.orderBy(" user_lastlogtime desc");
		//查询数据
		List<User> userList=userMapper.selectWeek();
		//封装
		PageInfo<User> pageInfo=new PageInfo<User>(userList);
		return pageInfo;		
	}

	/** 
     * 按月查询客户信息（分页）
	 * @param page
	 * @return 
	 */
	public PageInfo<User> selectMonth(int page) {
		//设置分页
		PageHelper.startPage(page, 10);
		PageHelper.orderBy(" user_lastlogtime desc");
		//查询数据
		List<User> userList=userMapper.selectMonth();
		//封装
		PageInfo<User> pageInfo=new PageInfo<User>(userList);
		return pageInfo;	
	}

	/** 
     * 按年查询客户信息（分页）
	 * @param page
	 * @return 
	 */
	public PageInfo<User> selectYear(int page) {
		//设置分页
		PageHelper.startPage(page, 10);
		PageHelper.orderBy(" user_lastlogtime desc");
		//查询数据
		List<User> userList=userMapper.selectYear();
		//封装
		PageInfo<User> pageInfo=new PageInfo<User>(userList);
		return pageInfo;	
	}

	/**
     * 指定日期查询客户信息
     * @param page
     * @param userLastlogtime 指定日期
     * @return 
     */
	public PageInfo<User> selectLogtime(int page,String userLastlogtime) {
		//设置分页
		PageHelper.startPage(page, 10);
		PageHelper.orderBy(" user_lastlogtime desc");
		//查询数据
		List<User> userList=userMapper.selectLogtime(userLastlogtime);
		//封装
		PageInfo<User> pageInfo=new PageInfo<User>(userList);
		return pageInfo;
	}

	/**
	 * 查询客户信息带条件 +分页
	 * @param page
	 * @param map
	 * @return
	 */
	public PageInfo<User> selectAll(int page, HashMap<String, Object> map) {
		//设置分页
		PageHelper.startPage(page, 10);
		PageHelper.orderBy(" user_id desc");
		//查询数据
		List<User> userList=userMapper.selectAll(map);
		//封装
		PageInfo<User> pageInfo=new PageInfo<User>(userList);
		return pageInfo;
	}

	

}
